1. Field of the Invention
The present invention relates to a terminal that has a keyboard and a display for a user to communicate with a data processing system or the like, and that adjusts the color reproduction of the screen of a display device.
The invention also relates to an input/output characteristic measurement method and an input/output characteristic calculation apparatus for obtaining the input/output characteristics, i.e., the electro-optical conversion characteristics, of a display such as a CRT display device or a liquid crystal display device.
The invention further relates to a display profile creation method and display profile creation apparatus for creating a profile relating to the color appearance of the display device.
Furthermore, the invention relates to a display calibration method and calibration apparatus that enable adjustments relating to the profile, etc. of the display device to be made in a simple manner.
The present invention further relates to a recording medium recording a program that may advantageously be used, for example, when adjusting the color appearance, etc. of a screen or when calculating the input/output characteristics of a display.
2. Description of the Related Art
With increasing prevalence of high-performance personal computers (hereinafter, personal computers may also be referred to as PCs) and the decreasing prices of image input devices such as scanners and image output devices such as color printers, the opportunities for individuals to handle color images are increasing. However, as more individuals have come to handle color images, color reproducibility is becoming a problem. That is, the problem concerns the difficulty in color matching between an original image and an image produced on a display, or between an original image and an image printed by a printer, or further between an image produced on a display and an image printed by a printer. Such a problem arises because color characteristics such as a color producing mechanism and a color gamut differ between different input/output devices.
A color management system (hereinafter sometimes referred to as the CMS) is a technique for matching color appearance between different input/output devices such as displays, scanners, color printers, etc. Using the CMS, it becomes possible to match color appearance between an image read by a scanner and an image displayed on a display and also between such an image and an image output by a color printer, and an image processing system can be constructed that does not give the user the feeling of unnaturalness about the color appearances of the various images output from different input/output devices.
In recent years, it has become common to incorporate a CMS framework at the OS level, such as ICM (Image Color Matching) 1.0 in Windows 95 and ColorSync 2.0 in the Macintosh environment. Manufacturers of input/output devices provide users with device profiles conforming to ICM 1.0 or ColorSync 2.0 so that the users can view color images without unnatural differences in color between images produced by different image output devices, for example, an image produced on a display and an image printed by a printer.
Device profiles for ICM 1.0 and ColorSync 2.0 conform to the ICC profiles proposed by the International Color Consortium (ICC). With manufacturers of input/output devices providing device profiles conforming to the ICC Profile Specification, users, in the Windows environment and the Macintosh environment alike, can obtain images free from unnaturalness in color appearance and can use various input/output devices without having to worry about differences in color appearance.
When using a CMS in a computing environment today, the ICC profiles are generally used as information holding the characteristics of input/output devices.
FIG. 51 conceptually shows the format of an ICC profile Ip. FIG. 52 shows dump data in hexadecimal to illustrate the format of the ICC profile Ip in a specific example.
As shown in FIGS. 51 and 52, the ICC profile Ip consists of a fixed length 128-byte profile header Ph containing information on the profile itself and information on the target device (input/output device), a variable length tag table Tt indicating what information is stored where, and tag element data Ted of variable length containing actual information.
In the ICC profile Ip, each necessary data element is described within the tag table Tt using a 12-byte tag consisting of a 4-byte signature tag Ta, a 4-byte storage address tag Tb, and a 4-byte size tag Tc indicating the size of the data element. A 4-byte tag count tag Tn at the head of the tag table Tt contains a count of the number of tags, (n), in the tag table itself. It is therefore seen that the total number of bytes in the tag table Tt is given by 4+12n bytes. In the example of FIG. 52, the tag count n is 4 (that is, 00000004h (h indicating hexadecimal notation)).
To describe in further detail the contents of the first 12-byte tag labeled profileDescriptionTag PDT (see FIG. 52) following the 4-byte tag count tag Tn in the tag table Tt, the first four bytes (6465 7363) as the signature tag Ta indicate information (name) unique to the profile, and the next four bytes (0000 00b4) as the storage address tag Tb represent the starting address (row b and column 4) in the tag element data Ted. The last four bytes (0000 0074) as the size tag Tc show that the data size is 74h=116. The tag element data Ted having the size of 74h is also a Profile Description Tag PDT and contains information (name, etc.) unique to the profile.
The tag element data Ted specified by the next 12-byte tag labeled mediaWhitePointTag (also referred to as wtptTag) wtpt contains CIEXYZ values of white (w). The tag element data Ted specified by the next 12-byte tag labeled redColorantTag (also referred to as rXYZTag) rXYZ contains normalized CIEXYZ values of red (r). The last 12-byte tag labeled redTRCTag (also referred to as rTRCTag) rTRC stores input/output characteristic values of red (r); in the example of FIG. 52, values of 16 points are stored in the last 32 bytes (two bytes for each point). In the CCC profile Ip, the stored CIEXYZ values are normalized with respect to the standard illuminant of D50.
FIG. 53 shows the color gamut of a display, such as a CRT display, plotted on an u′, v′ chromaticity diagram. In FIG. 53, the horseshoe-shaped region containing the triangle bounding the range of reproducible colors (color gamut) indicates the limits of chromaticities distinguishable by the human eye. FIG. 54 shows an example of CIEXYZ measurements. Further, FIG. 55 shows an example of the gamma characteristic (electro-optical conversion characteristic) as an input/output characteristic of a display.
In the case of a display, if the CIEXYZ values (see FIG. 54) when the primary colors R, G, and B are at their maximum values (Rmax, Gmax, and Bmax), as shown in FIG. 53, and the input/output characteristic for each of the R, G, and B colors, such as shown in FIG. 55, are known, then a gamma coefficient value can be calculated using the gamma coefficient calculation formula (IEC 1966-3) shown in equation (1) below defined by the International Electrotechnical Commission (IEC), and the display characteristics of the display can be determined using equations (2) to (5) below which are known linear conversion equations. Here, the CIEXYZ values of the R, G, and B colors define the range of reproducible colors (color gamut), and the input/output characteristic of the display is represented by the gamma characteristic.                     γ        =                              1            D                    ⁢                      (                                          n                ⁢                                                      ∑                                          i                      =                      1                                        n                                    ⁢                                                            P                      i                                        ⁢                                          q                      i                                                                                  -                                                ∑                                      i                    =                    1                                    n                                ⁢                                                      P                    i                                    ⁢                                                            ∑                                              n                        =                        1                                            n                                        ⁢                                          q                      i                                                                                            )                                              (        1        )            
where Pi=log10xi (xi=input voltage)                qi=log10yi (yi=display luminance)   D  =            n      ⁢                        ∑                      i            =            1                    n                ⁢                  P          i          2                      -                  (                              ∑                          i              =              1                        n                    ⁢                      q            i                          )            2      In equation (1), xi represents the value of input voltage and yi the value of displayed luminance.x=X/(X+Y+Z)  (2)y=Y/(X+Y+Z)  (3)u′=4X/(X+15Y+3Z)  (4)v′=9X/(X+15Y+3Z)  (5)        
As earlier described, in the ICC profile Ip for a display, the CIEXYZ values of the R, G, and B colors (refer, for example, to FIG. 54) are stored in the rXYZ, gXYZ, and bXYZ tags (in FIG. 52, the rXYZ tag is shown as an example) as information indicating the range of reproducible colors. As for the gamma characteristic, the input/output point values for the R, G, and B colors are respectively stored in the rTRC, gTRC, and bTRC tags. When the number of points in the tag is 0, it means that the gamma coefficient for that color is 1.0, and when the number of points is 1, the gamma coefficient value itself is stored. When the number of points is 2 or larger, the same number of input/output point values as the number of points are stored. In the example of FIG. 52, input/output point values for 16 points are stored in the last 32 bytes, and 16 output values are shown for 16 inputs dividing the section 0.0 to 1.0 in 16 equal parts, i.e., 0, 1/16, 2/16, . . . , 15/16. In other words, when the stored data elements are Y1, Y2, . . . , Yn, for example, (in the example of FIG. 52, n=16), relations (input, output)=(0/n, Y1), (1/n, Y2), . . . , ((n−1)/n, Yn) are stored.
In addition to the above, the CIEXYZ values (refer, for example, to FIG. 54) when white is at its maximum value (Wmax) are contained in the wtpt tag as the standard white information of the display.
In the ICC profile Ip for a display, it is usual practice to store these seven items of information (the normalized CIEXYZ values of the R, G, and B colors, the input/output point values for the R, G, and B colors, and the normalized maximum value information of white). These seven items of information can be obtained by displaying colors on the display based on color data, and by measuring the displayed luminance and CIEXYZ values using a measuring instrument (colorimeter such as a spectroradiometer). Usually, at the manufacturer, a reference display is prepared and, using the just mentioned measuring instrument, the luminance and CIEXYZ values of displayed colors are measured on the reference display; based on the obtained values, an ICC profile Ip is created which is supplied to the user.
When creating a profile, such as the ICC profile Ip, for a display, the input/output characteristics of the display must be measured.
For example, when a manufacturer delivers a new display unit to a user or performs color matching on the existing display unit that the user has, the practice has been such that the manufacturer's staff carries color data of measurement colors to be displayed on the display unit, an application for displaying colors from the color data, a signal generator for directly displaying colors on the display unit, a measuring instrument for measuring the colors displayed on the display unit, etc. to the user site and, using these resources, measures the input/output characteristics of the display unit. Then, based on the measurement results, the manufacturer's staff calibrates the display unit or creates a profile for color display correction for the display unit and installs it on the system in which the display unit is used.
Of course, the calibration of the display or creation of a profile for the display may be done at factory before shipment or by sending the user's display unit to the factory, but since colors displayed on the display are greatly influenced by the reflection of ambient lighting (surrounding light) on the display, it is desirable that the display setup or the creation of the profile be done at the site where the display is actually used, that is, at the user site.
Further, the display calibration work by the manufacturer as described above would be costly and not practical for ordinary users who use their personal computers in their homes. Therefore, in most cases, a profile that comes with a purchased display unit or a profile conforming to the ICC profile Ip and included as standard with an operating system such as Windows 95 is used as the profile data for the display.
Manufacturers display images on a reference display using various image data, measure luminance and chromaticity on the display surface using a specialized measuring instrument, create a profile for color conversion, and supply the created profile to users.
However, not all display manufacturers provide profiles, and furthermore, even in the case of a display shipped with a profile, the attached profile may not match the display used because of variations among individual display units or may become unusable because of aging or other factors.
On the other hand, if the user desires to calibrate his display by himself, he will need a measuring instrument for measuring the luminance and chromaticity on the display and image data (special data used for calibration, also called reference data) for displaying images on the display for the measurement.
Color calibration of a display requires the use of calibration image display data as reference data for collecting display calibration data and a measuring instrument for measuring the displayed image. Color reproduction on the display must account for the effects of surrounding light, such as ambient lighting, as well as the color display characteristics unique to the display used.
Accordingly, it has been common practice for the manufacturer's staff to carry a special measuring instrument and other resources to the user site and calibrate the user's display on site.
However, since the task of creating a profile by measuring the display using a measuring instrument involves extremely complicated procedures, the display calibration work has been a cost increasing factor for both the manufacturer and the user.
For users who cannot afford the expense of display calibration using professional equipment, the only choice left is to use profiles provided by the manufacturer.
However, the color output of a display varies depending on the environment where the display is used, the production lot, aging, etc. Furthermore, because of variations among individual units, there is no guarantee that the profile provided by the manufacturer will always match the user's display.
Accordingly, if a profile is to be obtained that matches the user's display, a profile must be created from the color display characteristics of the user's display itself.
If the user desires to create a profile for his own display, however, he will need a specialized measuring instrument for measuring the luminance and chromaticity on his display and reference data for displaying images to obtain measurement data; the problem here is, as earlier described, such a measuring instrument is expensive and not readily purchasable by an individual user. Furthermore, the reference data for obtaining measurement data is quite special, and data suitable for use as such reference data has not been made public.
On the other hand, display characteristics not only vary depending on the make and model, but also differ even between units of the same model, depending on the lot number, the length of time used, the use environment (particularly, lighting environment), etc. It is therefore not too much to say that each individual display unit has unique display characteristics.
Accordingly, creation of a profile such as one conforming to the ICC profile format requires that the display characteristics unique to the display be measured and the measurement results be reflected into the profile, but for reasons of cost, space, etc., it is difficult for an individual user to own a measuring instrument capable of measuring the display characteristics of a display, and the user ends up being unable to create a profile for his display, that is, a profile unique to his own display.